V10.0.7/service update#25
Conversation
Greptile SummaryThis is a v10.0.7 service-update PR that bumps Codebelt and test-infrastructure package versions, upgrades NGINX in the doc build image, advances the NuGet-push reusable workflow from
Confidence Score: 5/5Safe to merge — all changes are package/infrastructure version bumps and additive test coverage with no modifications to production logic. The production code is untouched; every change is either a dependency version increment, a tooling reference update, or a new test. The new reflection-based tests will pass as long as the internal types they target exist with their current names and signatures, which is expected since the production assembly is not modified in this PR. The three new reflection-based test files (CultureInfoSurrogateTest, DateTimeFormatInfoSurrogateTest, NumberFormatInfoSurrogateTest) are worth a quick look to confirm the null-guard pattern is acceptable for the team's test standards. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[v10.0.7 Service Update] --> B[Infrastructure]
A --> C[Package Versions]
A --> D[Test Coverage]
B --> B1[NGINX 1.30.0 → 1.31.0-alpine]
B --> B2[NuGet push workflow @v2 → @v3]
C --> C1[Codebelt.Extensions.Xunit 11.0.9 → 11.0.10]
C --> C2[Codebelt.Extensions.YamlDotNet 10.1.2 → 10.1.3]
C --> C3[Microsoft.NET.Test.Sdk 18.4.0 → 18.5.1]
C --> C4[coverlet.collector/msbuild 10.0.0 → 10.0.1]
D --> D1[CultureInfoExtensionsTest\n4 new test methods]
D --> D2[CultureInfoSurrogateTest\nnew file via reflection]
D --> D3[DateTimeFormatInfoSurrogateTest\nnew file via reflection]
D --> D4[NumberFormatInfoSurrogateTest\nnew file via reflection]
Prompt To Fix All With AIFix the following 1 code review issue. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 1
test/Codebelt.Extensions.Globalization.Tests/CultureInfoSurrogateTest.cs:24-36
**Unguarded reflection results can hide refactoring regressions**
`GetConstructor()` on line 24 and `GetProperty()` on lines 32–33 each return `null` when the member is not found. Dereferencing them directly (lines 30, 35–36) throws `NullReferenceException` instead of a meaningful xUnit assertion failure, making it harder to diagnose if `CultureInfoSurrogate` is later renamed or its constructor signature changes. The same pattern appears in `DateTimeFormatInfoSurrogateTest` and `NumberFormatInfoSurrogateTest`. Adding `Assert.NotNull(ctor)` (and similar guards for each property lookup) before use would surface a clear failure message.
Reviews (3): Last reviewed commit: "✅ add tests for surrogate classes and ex..." | Re-trigger Greptile |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #25 +/- ##
============================================
+ Coverage 69.02% 100.00% +30.97%
============================================
Files 4 4
Lines 184 184
Branches 3 4 +1
============================================
+ Hits 127 184 +57
+ Misses 57 0 -57 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|



This is a service update that focuses on package dependencies.
Automated changes:
Note: Third-party packages (Microsoft.Extensions.*, BenchmarkDotNet, etc.) are not auto-updated.
Use Dependabot or manual updates for those.
Generated by codebelt-aicia
Triggered by: yamldotnet @ 10.1.3